package com.ffcs.crmd.tsp.admin.service;

import java.util.List;

import com.ctg.itrdc.platform.common.entity.PageInfo;
import com.ffcs.crmd.tsp.admin.entity.Job;
import com.ffcs.crmd.tsp.common.exception.TspException;

public interface IJobService {

    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException
     */
    void deleteJob(Job job) throws TspException;
    
    /**
     * 功能说明:
     * 
     * @param jobList
     * @throws TspException
     */
    void deleteJob(List<Job> jobList) throws TspException;

    /**
     * 功能说明:
     * 
     * @param jobDTO
     * @throws TspException 
     */
    void deleteJobDetail(Job job) throws TspException;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param id
     * @return
     * @throws TspException
     */
    Job get(Job job) throws TspException;
    
    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException 
     */
    void pauseJob(Job job) throws TspException;

    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException 
     */
    void pauseJob(List<Job> jobList) throws TspException;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param name
     * @param jobGroupId
     * @param identity
     * @return
     * @throws TspException
     */
    List<Job> query(Job job) throws TspException;

    /**
     * 功能说明:
     * 
     * @param clusterName
     * @param name
     * @param jobGroupId
     * @param identity
     * @param pageNumber
     * @param pageSize
     * @return
     * @throws TspException
     */
    PageInfo<Job> queryPage(Job job, int pageNumber, int pageSize) throws TspException;

    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException 
     */
    void resumeJob(Job job) throws TspException;


    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException 
     */
    void resumeJob(List<Job> jobList) throws TspException;


    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException
     */
    void saveJob(Job job) throws TspException;

    /**
     * 功能说明:
     * 
     * @param job
     * @throws TspException
     */
    void updateJob(Job job) throws TspException;
    
}
